﻿*, *::before, *::after {
    box-sizing: border-box;
}

body {
    width: 100% !important;
    margin: 0;
    padding: 0;
    color: #000;
    background: none;
    font-size: 13pt;
    line-height: 1.45em;
    font-family: Arial, sans-serif;
}

body.screen {
    font-size: 14px;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
}

h1 {
    font-size: 1.5em;
}

h2 {
    font-size: 1.3em;
}

h3 {
    font-size: 1.2em;
}

h4,
h5,
h6 {
    font-size: 1.1em;
}


p, h2, h3 {
    orphans: 3;
    widows: 3;
}

code {
    font: 0.9em Courier, monospace;
}

blockquote {
    margin: 1.2em;
    padding: 1em;
    font-size: 0.9em;
}

hr {
    box-sizing: content-box;
    border: 0;
    border-top: 1px solid #aaa;
    margin: 10px 0;
}

img {
    max-width: 100% !important;
}

a img {
    border: none;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

a:link,
a:visited {
    background: transparent;
    font-weight: 700;
    text-decoration: underline;
    color: #333;
}

a:link[href^="http://"]:after,
a[href^="http://"]:visited:after {
    content: " (" attr(href) ") ";
    font-size: 90%;
}

abbr[title]:after {
    content: " (" attr(title) ")";
}

/* Don't show linked images  */
a[href^="http://"] {
    color: #000;
}

a[href$=".jpg"]:after,
a[href$=".jpeg"]:after,
a[href$=".gif"]:after,
a[href$=".png"]:after {
    content: " (" attr(href) ") ";
    display: none;
}

/* Don't show links that are fragment identifiers, or use the `javascript:` pseudo protocol .. taken from html5boilerplate */
a[href^="#"]:after,
a[href^="javascript:"]:after {
    content: "";
}

img,
tr {
    page-break-inside: avoid;
}


/* -------------------------------------------------------------- 
 	Layout
-------------------------------------------------------------- */

.screen .container {
    width: 100%;
    max-width: 1170px;
    padding: 15px;
    margin: 0 auto;
}

.document:not(:last-child) {
    page-break-after: always;
}


/* -------------------------------------------------------------- 
 	Utils
-------------------------------------------------------------- */

.m-0 {
    margin: 0 !important;
}

.m-1 {
    margin: 4px !important;
}

.m-2 {
    margin: 8px !important;
}

.m-3 {
    margin: 16px !important;
}

.m-4 {
    margin: 24px !important;
}

.m-5 {
    margin: 36px !important;
}

.m-6 {
    margin: 48px !important;
}

.mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.mx-1 {
    margin-left: 4px !important;
    margin-right: 4px !important;
}

.mx-2 {
    margin-left: 8px !important;
    margin-right: 8px !important;
}

.mx-3 {
    margin-left: 16px !important;
    margin-right: 16px !important;
}

.mx-4 {
    margin-left: 24px !important;
    margin-right: 24px !important;
}

.mx-5 {
    margin-left: 36px !important;
    margin-right: 36px !important;
}

.mx-6 {
    margin-left: 48px !important;
    margin-right: 48px !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.my-1 {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

.my-2 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

.my-3 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}

.my-4 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
}

.my-5 {
    margin-top: 36px !important;
    margin-bottom: 36px !important;
}

.my-6 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-1 {
    margin-top: 4px !important;
}

.mt-2 {
    margin-top: 8px !important;
}

.mt-3 {
    margin-top: 16px !important;
}

.mt-4 {
    margin-top: 24px !important;
}

.mt-5 {
    margin-top: 36px !important;
}

.mt-6 {
    margin-top: 48px !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 4px !important;
}

.mb-2 {
    margin-bottom: 8px !important;
}

.mb-3 {
    margin-bottom: 16px !important;
}

.mb-4 {
    margin-bottom: 24px !important;
}

.mb-5 {
    margin-bottom: 36px !important;
}

.mb-6 {
    margin-bottom: 48px !important;
}

.ml-0 {
    margin-left: 0 !important;
}

.ml-1 {
    margin-left: 4px !important;
}

.ml-2 {
    margin-left: 8px !important;
}

.ml-3 {
    margin-left: 16px !important;
}

.ml-4 {
    margin-left: 24px !important;
}

.ml-5 {
    margin-left: 36px !important;
}

.ml-6 {
    margin-left: 48px !important;
}

.mr-0 {
    margin-right: 0 !important;
}

.mr-1 {
    margin-right: 4px !important;
}

.mr-2 {
    margin-right: 8px !important;
}

.mr-3 {
    margin-right: 16px !important;
}

.mr-4 {
    margin-right: 24px !important;
}

.mr-5 {
    margin-right: 36px !important;
}

.mr-6 {
    margin-right: 48px !important;
}


.p-0 {
    padding: 0 !important;
}

.p-1 {
    padding: 4px !important;
}

.p-2 {
    padding: 8px !important;
}

.p-3 {
    padding: 16px !important;
}

.p-4 {
    padding: 24px !important;
}

.p-5 {
    padding: 36px !important;
}

.p-6 {
    padding: 48px !important;
}

.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.px-1 {
    padding-left: 4px !important;
    padding-right: 4px !important;
}

.px-2 {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.px-3 {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.px-4 {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.px-5 {
    padding-left: 36px !important;
    padding-right: 36px !important;
}

.px-6 {
    padding-left: 48px !important;
    padding-right: 48px !important;
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.py-1 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

.py-2 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.py-3 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.py-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

.py-5 {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
}

.py-6 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-1 {
    padding-top: 4px !important;
}

.pt-2 {
    padding-top: 8px !important;
}

.pt-3 {
    padding-top: 16px !important;
}

.pt-4 {
    padding-top: 24px !important;
}

.pt-5 {
    padding-top: 36px !important;
}

.pt-6 {
    padding-top: 48px !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 4px !important;
}

.pb-2 {
    padding-bottom: 8px !important;
}

.pb-3 {
    padding-bottom: 16px !important;
}

.pb-4 {
    padding-bottom: 24px !important;
}

.pb-5 {
    padding-bottom: 36px !important;
}

.pb-6 {
    padding-bottom: 48px !important;
}

.pl-0 {
    padding-left: 0 !important;
}

.pl-1 {
    padding-left: 4px !important;
}

.pl-2 {
    padding-left: 8px !important;
}

.pl-3 {
    padding-left: 16px !important;
}

.pl-4 {
    padding-left: 24px !important;
}

.pl-5 {
    padding-left: 36px !important;
}

.pl-6 {
    padding-left: 48px !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.pr-1 {
    padding-right: 4px !important;
}

.pr-2 {
    padding-right: 8px !important;
}

.pr-3 {
    padding-right: 16px !important;
}

.pr-4 {
    padding-right: 24px !important;
}

.pr-5 {
    padding-right: 36px !important;
}

.pr-6 {
    padding-right: 48px !important;
}

.text-muted {
    color: #999
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-small {
    font-size: 0.85em;
}

.text-smaller {
    font-size: 0.77em;
}

.text-smallest {
    font-size: 0.69em;
}

.pull-left,
.float-left {
    float: left
}

.pull-right,
.float-right {
    float: right
}

.nobr {
    white-space: nowrap !important
}

.clearfix:before,
.clearfix:after {
    display: table;
    content: " ";
}

.clearfix:after {
    clear: both;
}


/* -------------------------------------------------------------- 
 	Display & Layout utils
-------------------------------------------------------------- */

.d-none {
    display: none !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-row {
    display: table-row !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: flex !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    flex-grow: 0 !important;
}

.flex-grow-1 {
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    flex-shrink: 1 !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-content-start {
    align-content: flex-start !important;
}

.align-content-end {
    align-content: flex-end !important;
}

.align-content-center {
    align-content: center !important;
}

.align-content-between {
    align-content: space-between !important;
}

.align-content-around {
    align-content: space-around !important;
}

.align-content-stretch {
    align-content: stretch !important;
}

.align-self-auto {
    align-self: auto !important;
}

.align-self-start {
    align-self: flex-start !important;
}

.align-self-end {
    align-self: flex-end !important;
}

.align-self-center {
    align-self: center !important;
}

.align-self-baseline {
    align-self: baseline !important;
}

.align-self-stretch {
    align-self: stretch !important;
}

.position-static {
    position: static !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

.position-sticky {
    position: sticky !important;
}

.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.mh-100 {
    max-height: 100% !important;
}


/* -------------------------------------------------------------- 
 	Tables
-------------------------------------------------------------- */

table {
    width: 100%;
    max-width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}

caption {
    padding-top: 8px;
    padding-bottom: 8px;
    text-align: left;
}

thead {
    display: table-header-group;
}


th, td {
    vertical-align: top;
    text-align: left;
    line-height: 1.45em;
}


.table {
    margin-bottom: 20px;
}

.table tr {
    border-top: 1px solid #999;
}

.table > thead > tr {
    border-bottom: 2px solid #999;
}

.table th,
.table td {
    padding: 8px;
    background-color: #fff;
}

.table > thead > tr > th {
    vertical-align: bottom;
}

.table-bordered {
    border: 1px solid #999;
}

.table-bordered th,
.table-bordered td {
    border-left: 1px solid #999;
    border-right: 1px solid #999;
}


/* -------------------------------------------------------------- 
 	Order Summary (receipts like invoice, packaging slip etc.)
-------------------------------------------------------------- */

.order-summary tbody td,
.order-summary tbody th {
    padding-top: 12px;
    padding-bottom: 12px;
}

.order-summary > tbody > tr,
.order-summary > tfoot > tr {
    border-top: none;
}

.order-summary > tbody {
    border-top: 1px solid #999;
    page-break-inside: avoid;
}

.order-summary td .attributes {
    margin-left: 30px;
}

.order-summary tr.child-row > td {
    padding-top: 0;
}

.order-summary tr.child-row > td > .associated-product {
    margin-left: 30px;
}

.checkout-attributes > table {
    width: auto;
}

.checkout-attributes td.attr-caption {
    padding-right: 30px;
}

/* -------------------------------------------------------------- 
 	Order address & info
-------------------------------------------------------------- */

.order-address {
    width: 55%;
}

.order-address .header {
    display: inline-block;
    border-bottom: 1px solid #777;
    padding-bottom: 5px;
}

.order-info {
    width: 40%;
    border: 1px solid #777;
    padding: 10px;
}

.order-info td {
    width: 50%;
}

.order-info td.label {
    font-weight: bold;
}

/* -------------------------------------------------------------- 
 	Order totals
-------------------------------------------------------------- */

.attr-caption {
    font-weight: bold;
}

.order-totals td.label {
    font-weight: bold;
    padding-left: 0;
}

.order-totals td.value {
    text-align: right;
}

/* -------------------------------------------------------------- 
 	Catalog
-------------------------------------------------------------- */


.child-product {
    width: 45%;
    float: left;
    margin-top: 20px;
    margin-right: 20px;
    min-height: 100px;
    page-break-inside: avoid;
}

.child-product-picture {
    float: left;
    margin-right: 20px;
    min-width: 80px;
    text-align: center;
}

.detail-picture img {
    max-width: 500px !important;
}
